package com.wkbb.basic.service;

import com.github.pagehelper.PageInfo;
import com.wkbb.basic.model.DeviceCamera;
import com.wkbb.common.dto.basic.DeviceCameraDto;
import com.wkbb.common.base.BaseService;

import java.util.List;

/**
 * @author Alger Yang
 */
public interface DeviceCameraService extends BaseService<DeviceCamera> {

    /**
     * 批量根据ID删除无感摄像头
     *
     * @param ids 无感摄像头ID列表
     */
    void deleteCameraBatchByIds(List<Long> ids);

    /**
     * 获取无感摄像头列表
     *
     * @param orgId      组织ID
     * @param orgName    组织名称（模糊查询）
     * @param deviceCode 设备编号（模糊）
     * @param name       名称（模糊）
     * @param serial     序列号（模糊）
     * @param scene      使用场景
     */
    List<DeviceCameraDto> getDeviceCameraList(Long orgId, String orgName, String deviceCode, String name, String serial, Short scene);

    /**
     * 获取无感摄像头分页列表
     *
     * @param orgId    组织ID
     * @param orgName  组织名称（模糊查询）
     * @param deviceCode    设备编号（模糊）
     * @param name     名称（模糊）
     * @param serial   序列号（模糊）
     * @param scene    使用场景
     * @param pageNo   页码
     * @param pageSize 每页条数
     */
    PageInfo<DeviceCameraDto> getDeviceCameraPageList(Long orgId, String orgName, String deviceCode, String name, String serial, Short scene, Integer pageNo, Integer pageSize);

    /**
     * 获取无感摄像头详情
     *
     * @param id 编号
     */
    DeviceCameraDto getDeviceCameraInfo(Long id);

    /**
     * 获取无感摄像头详情
     *
     * @param deviceCode 设备编号
     */
    DeviceCameraDto getDeviceCameraInfo(String deviceCode);
}
